As mobile devices, such as PDAs, mobile phones and smart phones, become widely used, mobile payment becomes a new and rapidly-adopted alternative payment method. Instead of paying with cash, checks, or credit cards a consumer can use a mobile phone to pay for a wide range of goods and services, such as music, online games, utility bills, books, magazines, etc.
Today, mobile device application programs commonly run on platforms such as Java 2 Micro Edition (J2ME). J2ME is a Java environment designed for mobile devices and embedded systems. Target devices range from industrial controls to mobile phones, digital set-top boxes, and navigation systems.
To implement a mobile payment application, a user program often needs to employ the functionalities provided by the device, such as system code, Application Programming Interface (API) code, etc. For example, a mobile device user may browse a shopping website using an Internet browser program written in HTML or Java script and then decide to pay for the items she selected. This transaction is typically done through an Internet banking client running in the mobile device. For example, mobile phone client Alipay™ is such an Internet banking client. The Alipay™ client is written in the C++ language and directly calls the device APIs. The C++ program code of mobile phone client Alipay™ is compiled to generate an Alipay™ executable file, that is, a file with an “.exe” extension.
In the conventional mobile device application program, script code (HTML code) of the browser application program and other application program code, such as J2ME application code, do not provide a mechanism for direct execution of an executable file because the J2ME platform does not provide interfaces to support such functionality. A browser or script program can neither directly invoke a file with an “.exe” extension nor communicate with another program via an API such as SendMessage. Therefore, a more effective way for the user application program to execute or communicate with the system or API program is needed.